package com.endbd.purchase.purchase_order.service;

import com.endbd.feignapi.model.purchase.*;
import com.endbd.feignapi.model.system.Job;
import com.endbd.feignapi.model.system.User;
import com.endbd.feignapi.model.warehouse.RkWarehouse;
import com.endbd.feignapi.util.PageModel;
import com.endbd.purchase.purchase_order.model.*;

import java.util.List;
import java.util.Map;


/**
 * @Auther:Lang
 * @Date:2022-11-16
 * @Time:20:12
 * @Description:
 */
public interface PQueryService {
    /**
     * 当审核时需根据登录人的职位来判断查看多少内容
     * 该方法需要判断
     *
     * @param poc       查询条件
     * @param pageModel 分页查询条件(pageNum、pageSize)
     * @return
     */
    PageModel<CPurchase> queryPurchasePageByCondition(PurchaseOrderCondition poc, PageModel<CPurchase> pageModel);

    /**
     * 详情页面以及审核回显页面
     *
     * @param id
     * @return
     */
    PurchaseDetail queryPurchaseDetailById(String id);


    /**
     * 将提交审核页面所需的数据一次性查出放在前端
     *
     * @return
     */
    Map queryJobAndStaff();

    /**
     * (根据品牌id) 查询品牌
     *
     * @return
     */
    List<CBrand> queryBrand(OtherPurchaseCondition opc);

    /**
     * 根据品牌id 查询类型 将其和品牌进行绑定
     *
     * @param opc
     * @return
     */
    List<CType> queryTypeByBrandId(OtherPurchaseCondition opc);

    /**
     * 根据类型id 获取商品信息w
     *
     * @param opc
     * @return
     */
    List<CProduct> queryProductByTypeId(OtherPurchaseCondition opc);

    /**
     * 根据类型、型号获取厂商id
     *
     * @param opc
     * @return
     */
    List<CFirm> queryFirm(OtherPurchaseCondition opc);
}
